package cn.lisens.common.dao;

import java.io.Serializable;
import java.util.Collection;
import java.util.List;
import java.util.Map;

import org.hibernate.Session;
import org.hibernate.query.Query;

/**
 * Dao基类接口
 * 
 * @author 孙振国
 * @date 2024年7月17日
 * @param <T>
 * @param <ID>
 */
public interface BaseSQLDao<T, ID extends Serializable> {

	int excuteSql(String sqlString);

	int excuteSql(String sqlString, Map<String, ?> params);
	
	T getBySQL(String sqlString, Map<String, ?> params);

	<V> V getBySQL(String sqlString, Map<String, ?> params, Class<V> theClass);
	
	List<T> listBySQL(String sqlString);

	<V> List<V> listBySQL(String sqlString, Class<V> theClass);

	List<T> listBySQL(String sqlString, Map<String, ?> params);

	<V> List<V> listBySQL(String sqlString, Map<String, ?> params, Class<V> theClass);
}